Historically, computers were configured to access networks, such as the Internet, via one particular connection type. For example, a desktop computer in the 1990s would typically access the Internet via a dial-up modem over a telephone line. Alternative connections to the Internet were typically not available. More recently, computers and other electronic communication devices (ECDs), cell phones, PDAs, etc., include multiple means of connecting to one or more networks. For example, it is not uncommon for a laptop computer to include (i) Bluetooth connectivity, (ii) 802.11 connectivity, (iii) connectivity to a cellular broadband service and/or (iv) connectivity to a wired dial-up or Ethernet connection.
Because ECDs can include multiple connection types, it is typical for ECDs to establish a connection acquisition priority list (CAPL) that indicates an order of connection types for a given ECD to attempt connection establishment. For example, the ECDs can direct users to configure the CAPL manually, which can be a relatively slow, cumbersome process that does not guarantee that the user will actually select an efficient CAPL. A conventional CAPL connection process will now be described with respect to FIG. 1.
Referring to FIG. 1, in 100, an ECD determines whether to establish a network connection. For example, if the ECD is a laptop computer, the ECD may determine to establish a network connection if a user of the ECD instructs the ECD to launch an Internet browser. If the ECD determines to establish a network connection, the process advances to 105. In 105, the ECD determines whether the user of the ECD wishes to manually select the first connection type for the network connection attempt. The determination of 105 can be pre-configured at the ECD (e.g., automatically bypassed), or can be based on a user prompt. If the ECD determines to permit the user to manually select the connection type for the network connection attempt, the ECD prompts the user for the manual selection and receives an indication of a connection type selection in 110. For example, the user may click on one of a plurality of available WiFi networks to select the connection type.
Next, in 115, the ECD attempts to establish a network connection via the selected connection type. In 120, the ECD determines whether the connection attempt was successful. If the connection attempt was successful, the ECD may communicate with the network via the established connection, 125. Otherwise, if the connection attempt is not successful, the process returns to 105 and the user is again given the choice with regard to whether to try another manually selected connection type.
Returning to 105, if the ECD determines not to prompt the user for a manual connection type selection, the ECD loads a default connection acquisition priority list (CAPL), 130. As mentioned above, the default CAPL indicates an order of connection types for a given ECD to attempt connection establishment. The default CAPL is typically established in advance, and can be based on an expected usage of the ECD. For example, if the user of the ECD is frequently near free WiFi hotspots, the CAPL can be configured to grant the WiFi connection type a higher priority, such that more expensive connection types, such as a cellular broadband service, are not engaged. Similarly, within WiFi or other network technology, a predetermined, ordered list of systems is typically used to determine which system to connect to. Alternatively, the priority of connection types within the default CAPL can be based on other factors, such as power consumption.
Accordingly, after the default CAPL is loaded at the ECD in 130, a first connection type is obtained from the default CAPL, 135. The first connection type obtained from the default CAPL corresponds to the connection type having the highest priority (and/or having a first position on the list of connection types) in the default CAPL. Next, the ECD attempts to establish a network connection via the first connection type, 140. The ECD then determines whether the network connection attempt was successful, 145. If the network connection attempt is determined to be successful, the process advances to 125, which is described above. Otherwise, if the network connection attempt is determined not to be successful, the ECD obtains a next connection type from the default CAPL, 150. The next (i.e., second) connection type obtained from the default CAPL corresponds to the connection type having the next highest priority in the default CAPL as compared to the previously attempted connection type. The process then returns to 140 and a network connection attempt is performed for the next connection type, and so on, until all connection types in the default CAPL are tested or a successful connection is established.
As will be appreciated by one of ordinary skill in the art, the default CAPL may be a best guess of which connection types would be most efficient in expected usage situations, or alternatively the CAPL may be randomly selected based on the last connection type added, regardless of relative connection-type efficiency. Either way, the default CAPL lacks flexibility, and the manual entry solution forces the user to manually enter connection types. For example, default CAPLs do not take a current location of the ECD into account. Thus, if a user is driving across the country and different connection types would be preferred by the user or carrier network at different locations, the default CAPL is not able to adapt so as to automatically provide the user with the desired connection type at each location.
FIG. 2 illustrates a portion of a wireless communication system 200, and includes sectors S1 and S2. Further illustrated in FIG. 2 is an ECD (e.g., laptop computer 205) that is traveling from sector S1 to sector S2. For convenience of explanation, assume that the laptop computer 205 can connect to the Internet only via WiFi (e.g., 802.11a/b) or a cellular broadband connection. Sector S1 supports cellular broadband connectivity, but does not support WiFi. Sector S2 supports both cellular broadband connectivity and free WiFi connectivity.
With the above assumptions, in a first example, assume that the default CAPL grants WiFi a higher priority than cellular broadband. Accordingly, in sector S1, the laptop computer 205 loads the default CAPL, 130, determines WiFi to be the highest-priority connection type, 135, attempts to establish a WiFi connection, 140, determines the connection attempt to be unsuccessful, 145. After attempting the WiFi connection (i.e., searching for WiFi signals for a given period of time, requesting service from WiFi routers that deny service, etc.), the laptop computer 205 establishes the cellular broadband connection (150, 140, 145, 125). Thus, the initial WiFi attempt delays the network connection setup speed and also wastes power.
In a second example, assume that the default CAPL grants WiFi a lower priority than cellular broadband. Accordingly, in sector S1, the laptop computer 205 loads the default CAPL, 130, determines cellular broadband to be the highest-priority connection type, 135, attempts to establish a cellular broadband connection, 140, determines the connection attempt to be successful, 145, and communicates over the cellular broadband connection, 125. Next, the laptop computer 205 enters sector S2 from S1. At this point, even if the laptop computer 205 re-executes the process of FIG. 1, the laptop computer 205 will not switch to the free WiFi connection unless the cellular broadband connection is dropped by the carrier because cellular broadband has a higher priority than WiFi in the default CAPL. Thus, the failure to switch to the available WiFi connection is not ideal, in this case, for the user of the laptop computer 205.
In a third alternative example, assume that WiFi is available in Sector S2, but requires a fee to access. However, further assume that cellular broadband is available and, when not roaming, is available at a flat rate to which the user has already subscribed. Therefore, in this case the cellular broadband is cheaper since the user has already signed up for unlimited flat rate services. On the other hand, assume there is a charge when the user is roaming so that the default to cellular broadband when in roaming territory would be more expensive than using a free Internet café WiFi or a flat rate WiFi (e.g., a day rate). As will be appreciated, these factors make a static CAPL less likely to be ideal in all situations.